Electronic trading is generally based on a host exchange, one or more computer networks, and client devices. Subscribing traders are connected to an exchange's electronic trading platform by way of communication links to facilitate real-time electronic messaging between themselves and the exchanges. The electronic trading platform includes at least one electronic market, which is at the center of the trading system and handles the matching of bids and offers placed by the traders for that market. The electronic messaging includes market information that is distributed from the electronic market to the traders via an electronic data feed. Once the traders receive the market information, it may be displayed to them on their trading screens. Upon viewing the information, traders can take certain actions including the actions of sending buy or sell orders to the electronic market, adjusting existing orders, deleting orders, or otherwise managing orders. Traders may also use software tools on their client devices to automate these and additional actions.
Although the types of market information published by an electronic exchange may differ from market to market, there are generally some standard pieces of information. Market information may include data that represents just the inside market. The inside market is the lowest available ask price (best ask) and the highest available bid price (best bid) in the market for a particular tradeable object at a particular point in time. Market information may also include market depth. Market depth refers to quantities available at the inside market and may also refer to quantities available at other prices away from the inside market. In addition to providing order book information, such as order price and quantity information, electronic exchanges can offer other types of market information such as the open price, settlement price, net change, volume, last traded price, the last traded quantity, and order fill information.
Electronic exchanges and/or intermediary devices, such as gateways, often struggle to balance the amount and timeliness of market information with the bandwidth limitations and reliability of the networks to deliver data intensive, fast response market data feeds. On one hand, a tremendous amount of market information may be generated by an electronic market to adequately characterize a given market, especially when changes in the market are happening at a rapid rate. Often, traders want to access as much of this information as possible so that they can make better-informed trades. On the other hand, limitations on the amount of market information passed to the traders are often inherent in the design of physical networks that connect traders to the electronic market.
Generally, there are two models how electronic markets deliver market information to client devices. In addition, slight variations of the two models are sometimes used.
The first model that is most commonly used to deliver market depth is a delta based model. The delta based model involves sending incremental updates every time the inside market or market depth changes in an order book. In the delta based data delivery environment, a client terminal initially receives a snapshot of current market conditions listing each price level and quantities pending at the price levels. As changes in the market are detected, such as when a quantity at a certain price level increases, a market update is sent to the client terminal to indicate the incremental change in the quantity.
Many currently existing networks use multicast to deliver delta based price data to client terminals. As known in the art, multicast refers to the delivery of information to many receivers at the same time in a single stream. Sending delta-based data over multicast, however, requires implementation of application level reliability to guarantee that all packets are received at a client terminal. If the client terminal detects a missing update, such as based on a sequence number included in each received update, the client terminal will re-request the missing update to correctly use the information in the next update, thus introducing delays and resulting in processing overhead. To overcome the reliability problems of networks using multicast, price data may be sent via a point-to-point network connection created for each client terminal. However, the use of point-to-point connections in trading environments that include a large number of client terminals is undesirable because a price server has to send each update separately to each interested client terminal, thus resulting in an inefficient use of bandwidth and producing delays at the server.
The second data delivery model that is often used involves sending a snapshot update at pre-programmed intervals, such as time-based intervals or event-based intervals. A snapshot update is a message that contains market information such as an inside market and market depth with actual prices and quantities listed in relation to each price included in the update. Sending the entire depth snapshot has historically been considered unrealistic due to the bandwidth considerations and packet size.
It would therefore be beneficial to provide a method and system for an improved data distribution that is readily adaptable to communicating market information in a more dynamic way.